package pe.gob.minam.sismon.core.domain;

// Generated 10/06/2013 05:19:41 PM by Hibernate Tools 3.4.0.CR1

import java.util.ArrayList;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

/**
 * GnrSistema generated by hbm2java
 */
@Entity
@Table(name = "GNR_SISTEMA")
public class GnrSistema implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private Integer idSistema;
	private String codigo;
	private String siglas;
	private String nombre;
	private String descripcion;
	private byte[] imagen;
	private String aplicativoHost;
	private String url;
	private Integer mostrarLogin;
	private String transaccion;
	private String tecla;
	private List<GnrConfiguracionColas> gnrConfiguracions = new ArrayList<GnrConfiguracionColas>(
			0);
	private List<SegPerfil> segPerfils = new ArrayList<SegPerfil>(0);
	private List<SegOpcion> segOpcions = new ArrayList<SegOpcion>(0);

	public GnrSistema() {
	}

	public GnrSistema(Integer idSistema, String codigo, String siglas,
			String nombre, String aplicativoHost, String url,
			Integer mostrarLogin, String transaccion, String tecla) {
		this.idSistema = idSistema;
		this.codigo = codigo;
		this.siglas = siglas;
		this.nombre = nombre;
		this.aplicativoHost = aplicativoHost;
		this.url = url;
		this.mostrarLogin = mostrarLogin;
		this.transaccion = transaccion;
		this.tecla = tecla;
	}

	public GnrSistema(Integer idSistema, String codigo, String siglas,
			String nombre, String descripcion, byte[] imagen,
			String aplicativoHost, String url, Integer mostrarLogin,
			String transaccion, String tecla,
			List<GnrConfiguracionColas> gnrConfiguracions,
			List<SegPerfil> segPerfils, List<SegOpcion> segOpcions) {
		this.idSistema = idSistema;
		this.codigo = codigo;
		this.siglas = siglas;
		this.nombre = nombre;
		this.descripcion = descripcion;
		this.imagen = imagen;
		this.aplicativoHost = aplicativoHost;
		this.url = url;
		this.mostrarLogin = mostrarLogin;
		this.transaccion = transaccion;
		this.tecla = tecla;
		this.gnrConfiguracions = gnrConfiguracions;
		this.segPerfils = segPerfils;
		this.segOpcions = segOpcions;
	}

	@Id
	@Column(name = "ID_SISTEMA", unique = true, nullable = false, precision = 22, scale = 0)
	@GeneratedValue(strategy = GenerationType.AUTO, generator = "SQ_GNR_SISTEMA")
	@SequenceGenerator(name = "SQ_GNR_SISTEMA", sequenceName = "SQ_GNR_SISTEMA")
	public Integer getIdSistema() {
		return this.idSistema;
	}

	public void setIdSistema(Integer idSistema) {
		this.idSistema = idSistema;
	}

	@Column(name = "CODIGO", nullable = false, length = 5)
	public String getCodigo() {
		return this.codigo;
	}

	public void setCodigo(String codigo) {
		this.codigo = codigo;
	}

	@Column(name = "SIGLAS", nullable = false, length = 5)
	public String getSiglas() {
		return this.siglas;
	}

	public void setSiglas(String siglas) {
		this.siglas = siglas;
	}

	@Column(name = "NOMBRE", nullable = false, length = 20)
	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	@Column(name = "DESCRIPCION", length = 50)
	public String getDescripcion() {
		return this.descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	@Lob
	@Column(name = "IMAGEN")
	public byte[] getImagen() {
		return this.imagen;
	}

	public void setImagen(byte[] imagen) {
		this.imagen = imagen;
	}

	@Column(name = "APLICATIVO_HOST", nullable = false, length = 2)
	public String getAplicativoHost() {
		return this.aplicativoHost;
	}

	public void setAplicativoHost(String aplicativoHost) {
		this.aplicativoHost = aplicativoHost;
	}

	@Column(name = "URL", nullable = false, length = 500)
	public String getUrl() {
		return this.url;
	}

	public void setUrl(String url) {
		this.url = url;
	}

	@Column(name = "MOSTRAR_LOGIN", nullable = false, precision = 22, scale = 0)
	public Integer getMostrarLogin() {
		return this.mostrarLogin;
	}

	public void setMostrarLogin(Integer mostrarLogin) {
		this.mostrarLogin = mostrarLogin;
	}

	@Column(name = "TRANSACCION", nullable = false, length = 4)
	public String getTransaccion() {
		return this.transaccion;
	}

	public void setTransaccion(String transaccion) {
		this.transaccion = transaccion;
	}

	@Column(name = "TECLA", nullable = false, length = 2)
	public String getTecla() {
		return this.tecla;
	}

	public void setTecla(String tecla) {
		this.tecla = tecla;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "gnrSistema")
	public List<GnrConfiguracionColas> getGnrConfiguracions() {
		return this.gnrConfiguracions;
	}

	public void setGnrConfiguracions(
			List<GnrConfiguracionColas> gnrConfiguracions) {
		this.gnrConfiguracions = gnrConfiguracions;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "gnrSistema")
	public List<SegPerfil> getSegPerfils() {
		return this.segPerfils;
	}

	public void setSegPerfils(List<SegPerfil> segPerfils) {
		this.segPerfils = segPerfils;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "gnrSistema")
	public List<SegOpcion> getSegOpcions() {
		return this.segOpcions;
	}

	public void setSegOpcions(List<SegOpcion> segOpcions) {
		this.segOpcions = segOpcions;
	}

}
